package com.lzx.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lzx.dto.RegisterDto;
import com.lzx.entity.Member;
import org.apache.ibatis.reflection.MetaObject;

import java.util.List;

/**
 * (Member)表服务接口
 *
 * @author makejava
 * @since 2021-02-22 19:40:14
 */
public interface MemberService extends IService<Member> {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    Member queryById(Integer id);

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    List<Member> queryAllByLimit(int offset, int limit);

    /**
     * 新增数据
     *
     * @param member 实例对象
     * @return 实例对象
     */
    Member insert(Member member);

    /**
     * 修改数据
     *
     * @param member 实例对象
     * @return 实例对象
     */
    Member update(Member member);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);

    /**
     *
     * @param registerDto
     * @return
     */
    Boolean register(RegisterDto registerDto);

    /**
     * 通过用户名查找
     * @param username
     * @return
     */
    Member findByUserName(String username);

    /**
     * 登录
     * @param username
     * @param password
     * @return
     */
    Member login(String username, String password);

    /**
     * 修改用户状态
     * @param id
     * @param status
     * @return
     */
    Boolean changeStatus(Integer id, Boolean status);

    /**
     * 更新Es的用户数据
     */
    void dbToEs();
}
